package br.com.ppc.modelo;

// default package
// Generated 06/07/2011 14:08:13 by Hibernate Tools 3.4.0.CR1

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Autor generated by hbm2java
 */
@Entity
@Table(name = "autor", catalog = "ppc")
public class Autor implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -525671912460795505L;
	private Integer idEspecime;
	private Pessoa pessoa;
	private Set<Especime> especimes = new HashSet<Especime>(0);

	public Autor() {
	}

	public Autor(Pessoa pessoa) {
		this.pessoa = pessoa;
	}

	public Autor(Pessoa pessoa, Set<Especime> especimes) {
		this.pessoa = pessoa;
		this.especimes = especimes;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "idEspecime", unique = true, nullable = false)
	public Integer getIdEspecime() {
		return this.idEspecime;
	}

	public void setIdEspecime(Integer idEspecime) {
		this.idEspecime = idEspecime;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "idPessoa", nullable = false)
	public Pessoa getPessoa() {
		return this.pessoa;
	}

	public void setPessoa(Pessoa pessoa) {
		this.pessoa = pessoa;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "autor")
	public Set<Especime> getEspecimes() {
		return this.especimes;
	}

	public void setEspecimes(Set<Especime> especimes) {
		this.especimes = especimes;
	}

}
